Automatic gain control circuits (AGCs) generate a relatively constant output signal amplitude from an input signal with varying amplitude. A typical AGC circuit includes a loop having a variable gain amplifier (VGA). A common application of an AGC circuit is in digital communication systems. An ideal AGC action would provide a constant output for all values of input signal strength. The figure of merit applied to AGC action is given as the change in input required for a given output change.
In high speed (e.g., 10 gigabits per second (Gb/s)), high performance, serial communication receivers that require equalization, VGAs are sometimes used at the front end of the topology. A VGA is used to either provide gain or attenuation depending on the amplitude of the input signal such that the VGA outputs a substantially constant amplitude signal. The ability to adjust the gain/attenuation of the VGA so that both a large and a small input voltage swing range at the input to the receiver can be accommodated is desirable for 10 Gb/s serial data communication applications.
A block diagram of a generic AGC block 10 is shown in FIG. 1. Amplitude Detector 14 senses the output amplitude Vout 13 of the VGA 12 and generates a voltage that represents the peak voltage of the VGA output Vpk 15. A Summer 17 compares the detected amplitude Vpk 15 to a reference voltage Vref 16. The reference voltage Vref 16 represents the desired output amplitude of the VGA. Based on the comparison, the Summer 17 generates an error signal 18 and feeds it to an AGC loop filter 19. In other words, Summer 17 determines the difference between the peak voltage Vpk 15 and the reference voltage Vref 16, and adaptively adjusts the control voltage Vc 11, such that the VGA 12 produces an output swing that is equal to a predetermined and fixed amplitude required by subsequent circuit blocks.
Depending on the application, there may be system requirements in which the minimum and maximum input swing range at the input to the receiver is wide. Thus, the AGC loop is kept constantly running. A continuous running AGC loop can interfere with the rest of the control loops causing signal interference, for example. It is desirable to freeze a loop once the convergence has been achieved since this improves the stability of the overall system performance. On the other hand, when the AGC loop is frozen, it needs to re-start in a timely and accurate manner for the required updates to track and correct the necessary changes in its input.
Therefore, there is a need for an AGC loop which can be frozen and then effectively re-start to ensure detection and tracking of convergence to the desired signal amplitude level.